home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Wonky Flux Batch 2019 02
/
Wonky_Flux_Batch_2019-02.zip
/
Wonky Flux Batch 2019-02
/
021 - HO Utilities - Clock Utility System.dsk
/
ANALOG.CLOCK.bas
next >
Wrap
BASIC Source File
|
2019-02-16
|
3KB
|
53 lines
10 REM ANALOG CLOCK
11 REM FOR TIMEMASTER II H.O.
12 REM COPYRIGHT (C) 1983 APPLIED ENGINEERING
13 REM WRITTEN BY BOB SANDER-CEDERLOF
20 TEXT : HOME
30 D$ = CHR$(4)
40 GOSUB 1000: IF SLOT = 0 THEN PRINT "NO CLOCK BOARD FOUND.": END
50 PRINT "CLOCK BOARD FOUND IN SLOT ";SLOT: GOSUB 1200
60 H = 0:M = 0:S = 0:KB = -16384:SP = -16336:FLAG = 1
70 GOSUB 2000: REM DRAW CLOCK FACE
80 PRINT D$"PR#"SLOT: PRINT D$"IN#"SLOT
100 REM DISPLAY RUNNING CLOCK
110 VTAB 1:X = FRE(0): INPUT ":";T$: IF PEEK(KB) >127 THEN POKE -16368,0: PRINT D$"PR#0": PRINT D$"IN#0": TEXT : END
120 NS = VAL( MID$ (T$,K(AP,2),2)): IF S = NS THEN 110
130 X = PEEK(SP) + PEEK(SP) + PEEK(SP): REM TICK-TOCK
140 NH = VAL( MID$ (T$,K(AP,0),2)):NM = VAL( MID$ (T$,K(AP,1),2))
150 NM = NM +NS/60:NH = 5 *(NH -12 *(NH >11) +NM/60)
160 HCOLOR= 0: HPLOT XC,YC TO XC +RM *S(S),YC +RM *C(S):S = NS: HCOLOR= 3: HPLOT XC,YC TO XC +RM *S(S),YC +RM *C(S)
170 IF (S = 0) OR FLAG THEN HCOLOR= 0:FLAG = 0: GOSUB 2200: GOSUB 2220:H = NH:M = NM: HCOLOR= 3
180 GOSUB 2200: GOSUB 2220:: FOR Y = YC -2 TO YC +2: HPLOT XC -2,Y TO XC +2,Y: NEXT
190 GOTO 110
999 REM ----------------------
1000 REM H.O. FINDER
1010 SLOT = 0: FOR I = 1 TO 7:ADDR = 12 *4096 +I *256: REM $CS00
1020 IF PEEK(ADDR) = 8 AND PEEK(ADDR +1) = 120 AND PEEK(ADDR +254) = 178 THEN SLOT = I:I = 7
1030 NEXT : IF SLOT = 0 THEN RETURN
1040 AP = PEEK(ADDR +255)
1050 PA = 12 *4096 +128 +SLOT *16: REM $C080+SLOT*16
1060 CA = PA +1:PB = PA +2
1070 RETURN
1199 REM ----------------------
1200 REM LOAD DATA
1210 DATA 12,15,18,7,10,13,13,16,19,12,15,18
1220 DIM K(3,2): FOR I = 0 TO 3: FOR J = 0 TO 2: READ K(I,J): NEXT : NEXT : RETURN
1999 REM ----------------------
2000 REM DRAW CLOCK FACE
2010 HOME : FLASH : VTAB 22: HTAB 5: PRINT " ...PLEASE WAIT A FEW SECONDS ": HTAB 5: PRINT " WHILE I WIND UP THE CLOCK... ": NORMAL : HGR : HCOLOR= 3
2015 DIM S(59),C(59)
2020 AR = 1.2:P = 3.1415926536:PS = P/30: FOR I = 0 TO 44:S(I) = SIN(P):C(I +15) = S(I)/AR:P = P -PS:X = PEEK(SP): NEXT
2030 FOR I = 45 TO 59:S(I) = SIN(P):C(I -45) = S(I)/AR:P = P -PS:X = PEEK(SP): NEXT
2040 XC = 140:YC = 80:RD = 80:RM = 75:RH = 50
2050 FOR I = 0 TO 59 STEP 5:X = XC +RD *S(I):Y = YC +RD *C(I): FOR V = Y -1 TO Y +1: HPLOT X -1,V TO X +1,V: NEXT : NEXT
2060 FOR I = 0 TO 59:X = XC +RD *S(I):Y = YC +RD *C(I): HPLOT X,Y: NEXT
2070 FOR Y = YC -2 TO YC +2: HPLOT XC -2,Y TO XC +2,Y: NEXT
2080 HOME : VTAB 22: HTAB 12: PRINT "APPLIED ENGINEERING": HTAB 12: PRINT "TIMEMASTER II H.O. ": VTAB 1: RETURN
2199 REM ----------------------
2200 REM DRAW MINUTE HAND
2210 A = XC -7 *C(M):B = YC +5 *S(M): HPLOT A,B TO XC +RM *S(M),YC +RM *C(M) TO XC +7 *C(M),YC -5 *S(M) TO A,B: RETURN
2219 REM -------------------
2220 REM DRAW HOUR HAND
2230 A = XC -7 *C(H):B = YC +5 *S(H): HPLOT A,B TO XC +RH *S(H),YC +RH *C(H) TO XC +7 *C(H),YC -5 *S(H) TO A,B: RETURN
59999 REM -------------------
60000 PR# 1: PRINT CHR$(9)"80N":E$ = CHR$(27): PRINT E$"B"E$"E"E$"L010": LIST : PR# 0: CALL 1002: END